#pragma once
#ifndef pl_consts_h//Succesfully ported
#define pl_consts_h
#include <string>
#include <set>
using namespace std;
typedef  string wstr;
/*wstr filt_playlist = "playlist|*.m3u;*.m3u8";
  //list<wstr> lst;
  wstr filt_equalizer = "peq|*.peq";
  const int ENGINE_FFT_DATA_1024 = 0x80000002;
  wstr VIS_DIR = "visuals";
  wstr filt_playable =  "BASS built-in *.mp3;*.mp2;*.mp1;*.ogg;*.wav;*.aif)\0*.mp3;*.mp2;*.mp1;*.ogg;*.wav;*.aif|*.mp3;*.mp2;*.mp1;*.ogg;*.wav*;*.aif";*/
enum
{
    WAVE_LEN = 2048,
    FFT_LEN = 512
};
#ifdef _WIN32
extern wstr default_dir;
extern const char xslash;
extern wstr _UNAVALIBLE_NAME;
extern wstr VIS_EXT;
extern wstr VIS_EXT_N;
extern const char *pl_str;
extern const char *pl_str64;
#else
extern const char xslash;
extern const wstr default_dir;
//wstr _UNAVALIBLE_NAME = "/root/.bash_history";
extern const  wstr VIS_EXT;
extern const wstr VIS_EXT_N;
extern const char *pl_str; //root is a current dir
extern const char *pl_str64;
#endif
#ifdef _WIN32
#define _slash '\\'
#else
#define  _slash '/'
#endif

#ifdef _WIN32
extern const char * ENGINE_PLUGINSFILT;
extern const char * ENGINE_PLUGINSEXT;
#endif
#ifdef LINUX
extern const char * ENGINE_PLUGINSFILT;
extern const char * ENGINE_PLUGINSEXT;
#endif
#ifdef MACOS
extern const char * ENGINE_PLUGINSFILT;
extern const char * ENGINE_PLUGINSEXT;

#endif

typedef unsigned int TWAVEDATA[WAVE_LEN];
typedef float TFFTDATA[FFT_LEN];
extern set<wstr> sp_exts, eq_exts, pl_exts;
bool eqexts_find(string obj);
bool spexts_find(string obj);
bool plexts_find(string obj);
void pl_consts_init();

#endif
